home *** CD-ROM | disk | FTP | other *** search
File List | 1992-01-26 | 2.1 KB | 89 lines |
- PROCEDURE tiny(source%,destination%)
- LOCAL xa%,xb%,xc%,xd%,xe%,xf%,xg%,xh%,xi%,xj%,xk%,xl%
- INLINE tiny_palette%,32
- FOR xl%=0 TO 31
- POKE tiny_palette%+xl%,PEEK(source%+xl%+1)
- NEXT xl%
- xa%=PEEK(source%+33)*256+PEEK(source%+34)
- xb%=source%+37
- xc%=xb%+xa%
- xd%=160
- xe%=8
- xf%=destination%
- WHILE xh%<xa%
- xk%=PEEK(xb%+xh%)
- IF xk%=0
- xk%=(PEEK(xb%+xh%+1)*256)+PEEK(xb%+xh%+2)
- ADD xh%,3
- xj%=PEEK(xc%+xi%)*256+PEEK(xc%+xi%+1)
- ADD xi%,2
- FOR xl%=1 TO xk%
- DPOKE xf%+xg%,xj%
- ADD xg%,xd%
- IF xg%>=32000
- ADD xg%,xe%
- SUB xg%,32000
- IF xg%>=xd%
- ADD xg%,2
- SUB xg%,xd%
- ENDIF
- ENDIF
- NEXT xl%
- ELSE
- IF xk%=1
- xk%=(PEEK(xb%+xh%+1)*256)+PEEK(xb%+xh%+2)
- ADD xh%,3
- FOR xl%=1 TO xk%
- xj%=PEEK(xc%+xi%)*256+PEEK(xc%+xi%+1)
- ADD xi%,2
- DPOKE xf%+xg%,xj%
- ADD xg%,xd%
- IF xg%>=32000
- ADD xg%,xe%
- SUB xg%,32000
- IF xg%>=xd%
- ADD xg%,2
- SUB xg%,xd%
- ENDIF
- ENDIF
- NEXT xl%
- ELSE
- IF xk%<128
- INC xh%
- xj%=PEEK(xc%+xi%)*256+PEEK(xc%+xi%+1)
- ADD xi%,2
- FOR xl%=1 TO xk%
- DPOKE xf%+xg%,xj%
- ADD xg%,xd%
- IF xg%>=32000
- ADD xg%,xe%
- SUB xg%,32000
- IF xg%>=xd%
- ADD xg%,2
- SUB xg%,xd%
- ENDIF
- ENDIF
- NEXT xl%
- ELSE
- INC xh%
- xk%=256-xk%
- FOR xl%=1 TO xk%
- xj%=PEEK(xc%+xi%)*256+PEEK(xc%+xi%+1)
- ADD xi%,2
- DPOKE xf%+xg%,xj%
- ADD xg%,xd%
- IF xg%>=32000
- ADD xg%,xe%
- SUB xg%,32000
- IF xg%>=xd%
- ADD xg%,2
- SUB xg%,xd%
- ENDIF
- ENDIF
- NEXT xl%
- ENDIF
- ENDIF
- ENDIF
- WEND
- RETURN
-